package br.inf.battleship.v02;

import java.awt.Point;
import java.util.Scanner;
import java.util.StringTokenizer;

public class HumanPlayer extends Player {

    public HumanPlayer(String name) {
        super(name);
    }

    @Override
    public void setShipLocation() {
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < shipArray.length; i++) {
            Ship t = (Ship) shipArray[i];
            //recebendo dados de entrada
            System.out.print("Digite a coordenada para " + t.getName() + " e a direção (x,y,h|v):");
            String entrada = sc.nextLine();
            StringTokenizer token = new StringTokenizer(entrada, ",");
            int x = Integer.parseInt(token.nextToken());
            int y = Integer.parseInt(token.nextToken());

            //atribuindo posicao e direcao ao barco
            t.setDirection(token.nextToken().charAt(0));
            t.setPosition(new Point(x, y));

            //irá repetir o barco na próxima iteração
            if (!board.insertShip(t)) {
                i--;
            }
        }

        board.printMap(this.name);
    }

    @Override
    public Point attack() {
        Scanner sc = new Scanner(System.in);
        System.out.print("Sua vez de atacar: Digite uma posição  (x,y):");
        String entrada = sc.nextLine();
        StringTokenizer token = new StringTokenizer(entrada, ",");
        int x = Integer.parseInt(token.nextToken());
        int y = Integer.parseInt(token.nextToken());
        return new Point(y, x);
    }


}
